Challenges exist in community-driven sensing, namely in attempts to reduce infrastructure costs for traditional sensor networks. By way of example, crowd-sensing is a mechanism wherein a community is organically involved in sensing a phenomenon or event of interest. The basic blueprint of a crowd-sensing application includes a sensing agent running on a mobile device such as a mobile phone, while a back-end application (for example, a server) aggregates results and provides services. Such applications are commonly referred to as community-oriented applications (CoAs).
Accordingly, there exists interest in exploiting mobile devices as a community of sensors that can be utilized to sense heterogeneous phenomena ranging from sound pollution to urban social dynamics. However, designing mobile device-resident middleware for opportunistic and objective-oriented sensing of these phenomena remains a challenge. Consequently, a need exists for creating a client-side middleware that enables a unified sensing architecture and expressivity constructs to allow for efficient control and coordination of a sensor network by a CoA based on received data.